Git explained | tree structure